﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;

namespace Proyecta.Categorias
{
    public partial class Categoria : System.Web.UI.Page
    {
        private string idCategoria;
        private string uriAccion;
        protected void Page_Load(object sender, EventArgs e)
        {
            this.uriAccion = Request.QueryString["accion"];

            if (!IsPostBack && this.uriAccion!="NUEVO")
            {
                this.idCategoria = Request.QueryString["id"];                
                if (this.idCategoria != "" && this.idCategoria != null)
                {
                    DataToUi(idCategoria);
                }
                else {
                    this.Redireccionar();
                }
            }
        }

        public void DataToUi(string id)
        {
            try
            {
                DataSet ds = null;
                Proyecta.Data.BO.CategoriasBO oCatbo = new Data.BO.CategoriasBO();
                Proyecta.Data.DAO.CategoriasDAO oCatDao = new Data.DAO.CategoriasDAO();
                oCatbo.idCategoria = int.Parse(id);

                ds = oCatDao.MostrarporID(oCatbo);

                txtID.Value = ds.Tables[0].Rows[0]["idCategoria"].ToString();
                txtCategoria.Text = ds.Tables[0].Rows[0]["Categoria"].ToString();
            }
            catch(Exception ex)
            {

            }
            
        }

        private void Action() {

            switch (this.uriAccion) { 
            
                case "NUEVO":
                    insertar();
                    Redireccionar();
                break;

                case "EDITAR":
                    modificar();
                    Redireccionar();
                break;

                case "ELIMINAR":
                    eliminar();
                    Redireccionar();
                break;
            }
            
        }

        public void insertar()
        {
            Proyecta.Data.BO.CategoriasBO oCatbo = new Data.BO.CategoriasBO();
            Proyecta.Data.DAO.CategoriasDAO oCatDao = new Data.DAO.CategoriasDAO();
            oCatbo.Categoria = txtCategoria.Text;
            oCatbo.eliminado = 0;
            oCatDao.Insertar(oCatbo);
        }

        public void modificar()
        {
            Proyecta.Data.BO.CategoriasBO oCatbo = new Data.BO.CategoriasBO();
            Proyecta.Data.DAO.CategoriasDAO oCatDao = new Data.DAO.CategoriasDAO();
            oCatbo.Categoria = txtCategoria.Text;
            oCatbo.idCategoria = int.Parse(txtID.Value);
            oCatDao.Modificar(oCatbo);
        }

        public void eliminar()
        {
            Proyecta.Data.BO.CategoriasBO oCatbo = new Data.BO.CategoriasBO();
            Proyecta.Data.DAO.CategoriasDAO oCatDao = new Data.DAO.CategoriasDAO();
            //oCatbo.Categoria = txtCategoria.Text;
            oCatbo.idCategoria = int.Parse(txtID.Value);
            oCatDao.Eliminar(oCatbo);
        }

        public void Redireccionar()
        {
            Response.Redirect("Index.aspx");
        }


        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            this.Action();
        }

        protected void btnCancelar_Click(object sender, EventArgs e)
        {
            this.Redireccionar();
        }
    }
}